package su.product.dao;
import java.sql.SQLException;
import java.util.List;

import su.product.entity.Cate;

/**
 * 产品分类
 * @作者 autopub
 * @创建日期 2012-08-04
 * @版本 V 1.0
 *
 */
public interface ICateDAO {
	/**
	 * 取全部子分类
	 * @param pid
	 * @return 产品分类列表
	 * @throws SQLException
	 */
	public List<Cate> getByPid(int pid) throws SQLException;
	
	/**
	 * 查询单个产品分类对象
	 * @param id
	 * @return 产品分类
	 * @throws SQLException
	 */
	public Cate getById(int id) throws SQLException;
	
	/**
	 * 创建产品分类
	 * @param o 产品分类实体类
	 * @throws SQLException
	 */
	public int insert(Cate o) throws SQLException;
	
	/**
	 * 更新产品分类
	 * @param o 产品分类实体类
	 * @throws SQLException
	 */
	public void update(Cate o) throws SQLException;
	
	/**
	 * 设置分类是否为叶子
	 * @param cateId
	 * @param leaf
	 * @throws SQLException
	 */
	public void updateCateLeaf(int cateId,int leaf)throws SQLException;
	
	/**
	 * 删除产品分类
	 * @param id 产品分类ID
	 * @throws SQLException
	 */
	public void remove(int id) throws SQLException;
	
	/**
	 * 修改分类名称
	 * @param id
	 * @param name
	 * @throws SQLException
	 */
	public void updateCateName(int id,String name) throws SQLException;
	
	/**
	 * 修改分类下的产品数量
	 * @param cateId
	 * @param isAdd true增加，false减少
	 * @throws Exception
	 */
	public void updateProductNum(int cateId,boolean isAdd) throws Exception;

}

